﻿using CarEdge.Infrastructure.Attr;
using CarEdge.Infrastructure.Dto.Request.Right;
using CarEdge.Infrastructure.Dto.Response;
using CarEdge.Infrastructure.Dto.Response.Rights;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CarEdge.Service.Interface
{
    [Provider_]
    public interface I_Rights_Service
    {
        Task<Api_Response_Dto> Add_Right(Right_Request_Dto dto);
        Task<Api_Response_Dto> Ban_Right(Right_Request_Dto dto);
        Task<Api_Response_Dto> Delete_Right(Right_Request_Dto dto);
        Task<Api_Response_Dto> GetAllConfig(int page, int limit, string key);
        Task<Api_Response_Dto> GetAllRights();
        Task<Api_Response_Dto> GetAllUserRight(int page, int limit, string key);
        Task<Api_Response_Dto> GetRightById(string id);
        Task<Api_Response_Dto> GetRightsByUid(string id);

        /// <summary>
        /// 获取所有的权限菜单
        /// </summary>
        /// <returns></returns>
        Task<Api_Response_Dto> Get_Menus(string uid);
        Task<Api_Response_Dto> Give_Rights(Right_Request_Dto dto);
        Task<Api_Response_Dto> Update_Right(Right_Request_Dto dto);
    }
}
